package producerConsumer;

import java.util.concurrent.BlockingDeque;

/**
 * @Author: linKe
 * @Date: 2022/1/15 14:29
 * @FileName: WorkingStealingEnabledChannel
 * @version: 1.0
 * @Description: 工作窃取启用通道
 * 生产者 消费者模式
 */
public interface WorkingStealingEnabledChannel<E> extends Channel<E> {

    /**
     * 此方法用来实现工作窃取算法
     *
     * @param queue 优先从此队列取
     * @return 结果
     * @throws InterruptedException 中断异常
     */
    E take(BlockingDeque<E> queue) throws InterruptedException;

}
